实训一     线性表的操作                                                         

一、实训目的


1.  掌握顺序存储结构的特点。

2. 掌握顺序存储结构的常见算法,初始化,插入,删除等。


二、考核办法


必做题部分全做得3分,选做题部分满分2分,至少选一题。

 

三、实训内容


1.必做内容:(满分3分)

1.建立顺序表(可利用随机产生的数据)。


2.在顺序表的指定位置插入元素。


3.实现把该表中所有奇数排在偶数之前,即表的前面为奇数,后面为偶数。


4.结构体部分代码:
typedef struct
{
int data[10];
int last;
}SeqList;//定义线性表
SeqList  *init_SeqList()
{
SeqList *L1;
L1=malloc(sizeof(SeqList));
L1->last=0;
return L1;
}         //初始化线性表
函数(a):
void part(SeqList *l)   //将奇数排在偶数前面
{…}
函数(b):
int Insert_SeqList(SeqList *L,int i,int x)  //向线性表中插入数据
{…}


5.要求:(1)完成函数(a),函数(b)中的算法;
(2)编写一个主函数,用键盘输入1,2,3,4,5,6,调用函数(a),在屏幕上输出5,3,1,2,4,6。
(3)调用函数(b),在第4个位置插入100,并将新的线性表显示出来。
结果如图:

2. 选做内容:(满分2分)

 

1.删除顺序表中的第3个数据元素和第5个数据元素,给出删除成功或失败的信息,并输出顺序表中的各元素值。


2.建立两个非递减有序表并把它们合并成一个非递减有序表。




朱丹,电话:0412-8413220